1
平行轉換:將順序邏輯映射至 GPU 線程
AI024Lesson 4
00:00

平行轉換 代表了計算哲學的根本轉變,從 時間序列 (一件接一件執行)轉為 空間分佈 (在整個網格上同時執行所有操作)。

1. 獨立性啟發法

這是 GPU 計算的黃金法則: 「只要你的問題是『對 N 個元素獨立地執行某項操作』,這就是你應該首先嘗試的映射方式。」 這種資料平行方法是 GPU 加速中最容易實現的部分,線程管理的開銷遠遠小於並行處理的巨大吞吐量。

2. 精度與資料負載

HIP 核心通常處理大型基本類型陣列。在高性能圖形與機器學習中,我們常使用 float (單精度),而需要極高數值穩定性的科學模擬則使用 double (雙精度)。

CPU:時間序列轉換點GPU:空間分佈

3. 從迭代到佔據

在 CPU 程式碼中,處理器透過迴圈「訪問」資料。在 GPU 邏輯中,資料則「佔據」一個線程。你不再撰寫 如何迴圈 而是開始撰寫 特定座標下單一工作人員應執行的動作

$$\text{索引 } i = \text{blockIdx.x} \times \text{blockDim.x} + \text{threadIdx.x}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>